[% setvar title Perl&nbsp;6 Language Design %]

[% menu nav specs %]

<header id="subpage-header" class="lead well">
    [% include camelia %]

    <h2><b>Perl&nbsp;6</b> Language Design</h2>

    <p>
        The Perl&nbsp;6 language design is developed by a core team around Larry
        Wall, the creator of Perl.
    </p>

    <p>
        Many parts of the language are rather mature, for example the object
        system and large parts of the syntax. Other parts, like macros,
        are still in flux, and wait for an implementation to try them
        out.
    </p>
</header>

<div class="row">
  <div class="col-sm-3">
    <ul class="list-group">
        <li class="list-group-item"><a href="https://github.com/perl6/roast/tree/6.c-errata">Official test suite for the 6.c language specification</a></li>
        <li class="list-group-item"><a href="https://github.com/perl6/roast/">Speculative test suite for next language version</a></li>
        <li class="list-group-item"><a href="http://design.perl6.org/">Synopses</a> - historic Perl&nbsp;6 design documents</li>
        <li class="list-group-item"><a
            href="http://github.com/perl6/mu/raw/master/misc/camelia.txt">Camelia</a> - the Perl&nbsp;6 mascot (<a href="http://github.com/perl6/mu/raw/master/misc/camelia.pdf">PDF</a>)</li>
    </ul>
  </div>

  <div class="col-sm-9">
    <div class="panel panel-default">
      <div class="panel-body">
        <h3 class="trim-top">Notes (excerpt from <a href="http://design.perl6.org/S01.html">Synopsis 1</a>)</h3>

        <p>
        The spec will not be frozen prematurely, but will continue to solidify as various aspects of it are proven (or disproven) in various implementations. Many parts of the spec are already effectively frozen, or are in a slushy state. "The future is already here, it's just unevenly distributed."
        </p><p>
          All specced features that have not been proven in an implementation should be considered somewhat conjectural, even if not so marked. As implementations start to agree on what is practical and what is not, do not be surprised if some features that are currently specced may be deferred to future versions; these should still be considered long-term direction in the evolution of Perl 6 over time, and the short-term design should be conservative in preserving that long-term evolution. Note that we are not in a hurry to defer any sections of the spec, even if that would give the illusion of progress. Convergence of specs and implementations will happen naturally as we get implementations that are closer to the spec. It is quite likely that the first practical implementation will largely determine which features are considered to be required in 6.0.0.
        </p>
      </div>
    </div>
  </div>
</div>
